PPC: Implement SMP primitives using gcc built-ins
authorPeter Trommler <ptrommler@acm.org>
Mon, 16 May 2016 11:19:09 +0000 (13:19 +0200)
committerClint Adams <clint@debian.org>
Wed, 5 Oct 2016 19:27:23 +0000 (19:27 +0000)
commit03725a65b7bd2b65b15852434f6e653c7ec172bb
tree13d6596f712f922dafedc6b6530750f917cf9707
parent780424e2c0a90d1d291cee6f3913aed70b8737e9
PPC: Implement SMP primitives using gcc built-ins

PPC: Implement SMP primitives using gcc built-ins

The SMP primitives were missing appropriate memory barriers
(sync, isync instructions) on all PowerPCs.

Use the built-ins _sync_* provided by gcc and clang. This
reduces code size significantly.

Remove broken mark for concprog001 on powerpc64. The referenced
ticket number (11259) was wrong.

Test Plan: validate on powerpc and ARM

Reviewers: erikd, austin, simonmar, bgamari, hvr

Reviewed By: bgamari, hvr

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2225

GHC Trac Issues: #12070

(cherry picked from commit 563a4857abcee4a6e43c68323274309c58f42aa0)

Gbp-Pq: Name ppc-smp-primitives
includes/stg/SMP.h